﻿//#pragma once

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define Max_Name   20
#define Max_Sex    10
#define Max_Tele   20
#define Max_Advice 20
#define Max_num    1000

#define Add_Sz	   2
#define First_Sz   3


//结构体创建

//联系人信息
typedef struct PeoIn
{
	char name[Max_Name];
	char sex[Max_Sex];
	int age;
	char tele[Max_Tele];
	char advice[Max_Advice];
}PeoIn;

//通讯录存放
// 静态内存
//typedef struct contact
//{
//	PeoIn data[Max_num];
//	int sz;
//}contact;

//动态内存
typedef struct contact
{
	PeoIn* data;		//申请空间
	int sz;				//统计个数
	int capacity;		//内存大小
}contact;


//函数声明
void InitContact(contact* pc);		//初始化函数

void AddContact(contact* pc);		//增加新的联系人

void DelContact(contact* pc);		//删除联系人

void PrintContact(contact* pc);		//查看所有联系人

void SearchContact(contact* pc);	//查找某一联系人

void ModifyContact(contact* pc);	//更改某联系人信息

void SortContact(contact* pc);		//排序联系人

void ExitContact(contact* pc);		//退出程序，释放空间

void SaveContact(contact* pc);		//保存数据到文件

void LoadContact(contact* pc);		//初始化时读取文件数据

void CheckCapacity(contact* pc);	//判断是否需要增加内存